//数组nums包含从0到n的所有整数，但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗？
public class Test1 {
    //方法1
   /*public static int missingNumber(int[] nums){
        int data = 0;
        for (int i = 0;i<nums.length;i++){
            data ^= i;
            data ^= nums[i];
        }
        data ^= nums.length;
        return data;
    }*/
    //方法2
    public static int missingNumber(int[] nums){
        int num_sum = nums.length+nums.length*(nums.length-1)/2;//等差数列求和公式为a1n+n(n-1)d/2
        int sum = 0;
        for (int i = 0; i < nums.length; i++) {
            sum += nums[i];
        }
        return num_sum - sum;
    }
    public static void main(String[] args) {
        int[] nums = {1,3,2,6,5,4,0,8};
        int missingNumber = missingNumber(nums);
        System.out.println(missingNumber);
    }

}
